Цифровые подписи и цифровые сертификаты

В целях обеспечения безопасности передачи документов многие Web-приложения требуют подкрепления электронного документа цифровой подписью. Метод цифровой подписи основан на использовании алгоритмов асимметричного шифрования. Такие алгоритмы (RSA, Diffie-Hellman) подразумевают наличие пары ключей – открытого (публичного) и закрытого (секретного, приватного). Предположим, необходимо переслать документ по безопасной электронной почте и поставить под ним цифровую подпись. Для этого документ обрабатывается специальной хэш-функцией, а полученное в результате значение (условно его можно назвать "контрольной суммой" или сверткой, далее: хэш-значение) зашифровывается закрытым ключом отправителя и пересылается вместе с документом. Это и есть цифровая подпись. Получатель использует открытый ключ отправителя для того, чтобы извлечь хэш-значение из цифровой подписи. Подпись считается подлинной, если извлеченное из нее хэш-значение совпадет с результатом повторного хэширования полученного документа.

Также, если необходимо закрыть информацию (документ) от несанкционированного просмотра при ее передаче через Интернет, то передаваемая информация кодируется с  использованием открытого ключа получателя, и раскодировать ее сможет только получатель - владелец закрытого ключа. Таким образом, необходимо передавать открытые ключи пользователей неискаженными.

Чтобы удостовериться в том, что открытый ключ не искажен и действительно принадлежит тому, за кого выдает себя отправитель, существует механизм цифровых сертификатов. Доверенное третье лицо – уполномоченный по выдаче сертификатов (Certification Authority — CA) – заверяет электронной подписью соответствие между открытым ключом и именем (идентификатором) его владельца. Подписанные таким образом данные (открытый ключ, идентификатор владельца и некоторые другие связанные с ним атрибуты) и представляют собой цифровой сертификат. Генерация цифровых сертификатов регламентируется стандартом Х.509.

Необходимо сразу отметить, что у владельца сертификат с открытым ключом (далее: цифровой сертификат) может храниться в персональном компьютере вместе с закрытым ключом. Такой сертификат будет называться персональным цифровым сертификатом. В программах электронной почты персональные цифровые сертификаты и закрытые ключи часто называют «цифровыми удостоверениями».